package com.game.modular.gameCore.battle.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.util.Set;

import com.game.config.dao.typeHandler.SetLongHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * 技能效果类型表(CoreSkillEffectType)表实体类
 *
 * @author cxy
 * @since 2024-09-28 17:40:51
 */
@ApiModel("技能效果类型表")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
@SuppressWarnings("serial")
public class CoreSkillEffectType extends Model<CoreSkillEffectType> {// swagger2,mybatis-plus
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 生成实体字段
    @TableId(type = IdType.AUTO)
    @ApiModelProperty("$column.comment")
    private Long id;
    
    @ApiModelProperty("buf名称")
    private String name;
    
    @ApiModelProperty("描述")
    private String info;
    
    @ApiModelProperty("受影响的字段名")
    private String effectAttribute;

    @TableField(typeHandler = SetLongHandler.class)
    @ApiModelProperty("免疫效果列表")
    private Set<Long> immuneList;

    @TableField(typeHandler = SetLongHandler.class)
    @ApiModelProperty("移除效果列表")
    private Set<Long> removeList;
    
    @ApiModelProperty("技能效果类型")
    private Integer buffType;
    
    @ApiModelProperty("是否为增益(对目标来说)")
    private Integer isBenefit;
    
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 序列化版本号
    @TableField(exist = false)
    private static final long serialVersionUID = 701920586521200065L;
    /////////////////////////////////////////////////////////////////////////////////////////////////////////// 获取主键值
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 非数据库字段
    /////////////////////////////////////////////////////////////////////////////////////////////////////////    领域业务
}

